A continuing trend within the networking industry is a move to enhance IEEE 802.3/Ethernet performance, using switched and/or full duplex Ethernet capability. This is seen as yet another "mid life kicker" to Ethernet, either preserving existing workstation controllers and providing "dedicated Ethernet" (full 10 Mb/s) to each desktop, or by upgrading the existing adapter to full duplex, for higher performance and enhanced support for interactive applications.
For the current generation of Ethernet controller products, there are two fundamental areas that require modification to support the full duplex capability. Basically these are:
(i) The capability to transmit and receive simultaneously (without collision);
(ii) The capability to "auto-negotiate" between the hub and the end station to determine if the full duplex capability is supported.
The intent of full duplex operation is clear--to increase the performance of an Ethernet link by taking advantage of the 10BASE-T topology, which provides a full duplex communications link (separate transmit and receive circuits and cabling). but is normally used in a half duplex mode for compatibility with existing coax based Ethernet.
There are two components to this performance increase. The first is the physical capability to actually be able to simultaneously transmit and receive. The second is the effective elimination of collisions. Since it is assumed that contention will not occur (an active receiver is no longer an indication that the transmit MAC process must defer), then the end station effectively assumes it can always transmit. This second characteristic has more impact at the hub/repeater than at the end station.
At the hub end, this means that a repeater is inadequate (since it can only deal with a single active receive port at any one time). The repeater must be replaced with a bridge function, which provides the required level of "store and forward" buffering, and routes the packet according to its source/destination address characteristics. This may be by means of the MAC address (in which case it is technically a bridge), or an internetwork address (in which case it would be classed as a router). The integration of this bridge/router functionality into a high performance multiport unit is effectively what the industry refers to as a "switch" in Ethernet terms. Hence from an external perspective, a node (end station) would not be able to detect the difference between being connected to a bridge or a switch.
The examination of a "Switched Ethernet" hub function is not the focus of the present invention, although it is assumed that to implement such a system, a switched hub which would be able to detect (and hence take action upon) an end stations' ability to support a full duplex mode, would be highly desirable. The remainder of this specification will focus on the impact to the end station operation. Note however that typically bridges and routers (hence switches) employ standard Ethernet controller silicon to perform the hub (switch) port function, so this scheme is in fact applicable to both end stations and switch ports.
Consider a typical integrated Ethernet controller such as the PCnet-ISA or MACE controllers manufactured by Advanced Micro Devices (AMD). The following functions would be desired in a full duplex capable version of such a controller product:
(i) Power up in the half duplex (standard Ethernet) mode of operation.
(ii) Determine if the 10BASE-T port receiver is active (if not, assume use of the AUI and remain in half duplex mode). Note that this function is applicable to controllers which support more than one physical medium interface (eg. AUI and 10BASE-T), such as the AMD Pcnet-ISA (Am79C960) and MACE (Am79C940) as in the example of FIG. 1b.
(iii) If the 10BASE-T port is active, determine if the hub/link can support full duplex (and set an internal bit to indicate the link is "full duplex capable").
(iv) If so, switch to the full duplex mode (or move to full duplex if forced by a user programmable bit).
(v) Continue to mimic PCnet-ISA/MACE functionality from a software perspective (loopback, transmit/receive, interface/buffering etc.)
(vi) Allow either the switch port or the controller to request that the link be degraded to standard half duplex 10BASE-T mode, with minimal impact.
Items (iv) and (v) are discussed briefly in the Simultaneous Transmit/Receive section, and items (i) through (iii) and (vi) are discussed in the "Auto-Negotiation" Capability section.